import React, { memo ,useEffect} from 'react'

const Sun = memo((props) => {
  const {count,changeCountZi} = props;

  // 在函数组件里 没有那些 类组件里的生命周期
  // 统一用 useEffect  来 
  // 正常情况下 useEffect 这个方法 是在每次 return 函数完渲染后 执行 
  // 当 state 数据发生改变 重新触发 函数式组件 重新渲染 useEffect 方法会再次执行
  useEffect(()=>{

  });
  useEffect(()=>{

   // 返回值: 回调函数 => 组件被重新渲染或者组件卸载的时候执行
     return () => {
      console.log("取消监听redux中数据变化, 取消监听eventBus中的why事件")
    }
  })

  useEffect(()=>{
    // 正常情况 当组件重新渲染时 这个useEffect 会被重新执行 
    // 这种改动后
// 当count 被改变了 组件重新渲染了 这个useEffect 才会执行
// 其他的 变量 被改变了 组件重新渲染了 这个 useEffect 不会被执行
  },[count]);
  function changeCount(count){
    changeCountZi(count)
  }
 
  return (
    <div>
      Sun 里的count 展示{count}
     <div>
      <button onClick={()=>changeCount(30)}>sun按钮修改count</button>
     </div>
    </div>
    
  )
})

export default Sun